package leetcode.数学;

/**
 * 回文数
 * <p>
 * 判断一个整数是否是回文数。回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数。
 * <p>
 * 示例 1:
 * <p>
 * 输入: 121
 * 输出: true
 */
public class Test9回文数 {

    public static boolean isPalindrome(int x) {
        // 负数不存在回文数
        if (x < 0) {
            return false;
        }
        // 逆序 n 后还是与之前的相等就是回文数了
        if (x == reverse(x)) {
            return true;
        } else {
            return false;
        }
    }

    public static int reverse(int x) {
        int result = 0;
        // 循环求模反转整数
        while (x != 0) {
            result = result * 10 + x % 10;
            x /= 10;
        }
        return result;
    }

    public static void main(String[] args) {
        System.out.println(isPalindrome(-1221));
    }
}
